package com.maze.activity.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.maze.common.annotation.Excel;
import com.maze.common.core.domain.BaseEntity;

/**
 * 活动评价对象 activity_evaluations
 * 
 * @author xixi.wang
 * @date 2025-03-31
 */
public class ActivityEvaluations extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 评估唯一标识 */
    private Long evId;

    /** 关联的活动ID */
    @Excel(name = "关联的活动ID")
    private Long activityId;

    /** 反馈用户的ID */
    @Excel(name = "反馈用户的ID")
    private Long userId;

    /** 参与者体验描述 */
    private String participationExperience;

    /** 满意度评分（1-5） */
    @Excel(name = "满意度评分", readConverterExp = "1=-5")
    private Long satisfactionRating;

    /** 改进建议 */
    private String improvementSuggestions;

    /** 评价提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "评价提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date evaluationTime;

    public void setEvId(Long evId) 
    {
        this.evId = evId;
    }

    public Long getEvId() 
    {
        return evId;
    }
    public void setActivityId(Long activityId) 
    {
        this.activityId = activityId;
    }

    public Long getActivityId() 
    {
        return activityId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setParticipationExperience(String participationExperience) 
    {
        this.participationExperience = participationExperience;
    }

    public String getParticipationExperience() 
    {
        return participationExperience;
    }
    public void setSatisfactionRating(Long satisfactionRating) 
    {
        this.satisfactionRating = satisfactionRating;
    }

    public Long getSatisfactionRating() 
    {
        return satisfactionRating;
    }
    public void setImprovementSuggestions(String improvementSuggestions) 
    {
        this.improvementSuggestions = improvementSuggestions;
    }

    public String getImprovementSuggestions() 
    {
        return improvementSuggestions;
    }
    public void setEvaluationTime(Date evaluationTime) 
    {
        this.evaluationTime = evaluationTime;
    }

    public Date getEvaluationTime() 
    {
        return evaluationTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("evId", getEvId())
            .append("activityId", getActivityId())
            .append("userId", getUserId())
            .append("participationExperience", getParticipationExperience())
            .append("satisfactionRating", getSatisfactionRating())
            .append("improvementSuggestions", getImprovementSuggestions())
            .append("evaluationTime", getEvaluationTime())
            .toString();
    }
}
